package com.ruoyi.cms.service;

import java.util.List;
import com.ruoyi.cms.domain.CmsArticleCategory;
import com.ruoyi.common.core.domain.BaseSelect;
import com.ruoyi.common.core.domain.TreeSelect;

/**
 * 文章分类Service接口
 * 
 * @author zouhuu
 * @date 2022-08-04
 */
public interface ICmsArticleCategoryService 
{

    /**
     * 是否存在分类子节点
     *
     * @param categoryId 分类ID
     * @return 结果
     */
    public boolean hasChildByCategoryId(Long categoryId);


    /**
     * 查询文章分类选项
     *
     * @param cmsArticleCategory 文章分类
     * @return 文章分类集合
     */
    public List<BaseSelect> selectCmsArticleCategoryOptions(CmsArticleCategory cmsArticleCategory);

    /**
     * 查询文章分类
     * 
     * @param id 文章分类主键
     * @return 文章分类
     */
    public CmsArticleCategory selectCmsArticleCategoryById(Long id);

    /**
     * 查询文章分类列表
     * 
     * @param cmsArticleCategory 文章分类
     * @return 文章分类集合
     */
    public List<CmsArticleCategory> selectCmsArticleCategoryList(CmsArticleCategory cmsArticleCategory);

    /**
     * 新增文章分类
     * 
     * @param cmsArticleCategory 文章分类
     * @return 结果
     */
    public int insertCmsArticleCategory(CmsArticleCategory cmsArticleCategory);

    /**
     * 修改文章分类
     * 
     * @param cmsArticleCategory 文章分类
     * @return 结果
     */
    public int updateCmsArticleCategory(CmsArticleCategory cmsArticleCategory);

    /**
     * 批量删除文章分类
     * 
     * @param ids 需要删除的文章分类主键集合
     * @return 结果
     */
    public int deleteCmsArticleCategoryByIds(Long[] ids);

    /**
     * 删除文章分类信息
     * 
     * @param id 文章分类主键
     * @return 结果
     */
    public int deleteCmsArticleCategoryById(Long id);
}
